package sz.szsmk.citizencard.mvp.contract;

import java.util.List;

import sz.szsmk.citizencard.model.network.bean.response.PrepayResponse;
import sz.szsmk.citizencard.model.network.bean.response.ServiceTypeRes;
import sz.szsmk.citizencard.model.network.bean.response.UserBean;
import sz.szsmk.citizencard.model.network.bean.response.WebsiteTypeRes;
import sz.szsmk.citizencard.ui.base.IBaseContact;

/**
 * Copyright (c)2018
 * author: zdh
 * created on: 2018/5/22 15:42
 * description:
 */
public interface ISerNetworkContact {

    interface ISerNetworkPresenter<T extends IBaseContact.IBaseView>
            extends IBaseContact.IBasePresenter {
        void login(String mLatitude, String mLongitude);

        void queryServiceTypeApp();

        void queryWebsiteTypeApp();

        void getAllList(String service_type, String site_type, String distance_type, int type, String mLatitude, String mLongitude, int pager);

        void serviceSearch(String s, String mLatitude, String mLongitude, String pagenum, String pagesize);

        void getWebsiteList(String service_type, String site_type, String distance_type, int type, String mLatitude, String mLongitude, int pager);
    }

    interface ISerNetworkView extends IBaseContact.IBaseView {

        // 获得数据失败
        void updataError(String message);

        // 获得数据成功
        void updataSuccess(UserBean loginResponse);

        void getAllListSucc(List<PrepayResponse.WebsiteListInfoBean> websiteListInfo);

        void getAllListFail();

        void getListSuccess(PrepayResponse prepayResponse);

        void serviceSearchSucc(List<PrepayResponse.WebsiteListInfoBean> websiteListInfo);

        void serviceSearchFail(String msg);

        void getWebsiteListSucc(List<PrepayResponse.WebsiteListInfoBean> websiteListInfo);

        void getWebsiteListFail();

        void queryServiceTypeAppFail();

        void queryServiceTypeAppSucc(ServiceTypeRes serviceTypeRes);

        void queryWebsiteTypeAppSucc(WebsiteTypeRes serviceTypeRes);

        void queryWebsiteTypeAppFail();
    }
}
